﻿Imports Microsoft.DirectX
Public Class LandschaftstexturSchweißnaht
    Inherits ObjektLandschaftsTextur
    Dim Msh As Objekt3D


    Public Sub New()
        ID = "SCHWEIßNAHT"
        Landschaftsname = "Schweißnaht"
        Deckung = 0
        Tarnung = False
        Select Case My.Settings.CommanderWarsGameMoodus
            Case Is <= CommanderWarsGameModi.AdvanceWarsDS
                KP = 99
            Case CommanderWarsGameModi.AdvanceWarsDC
                KP = 99
            Case Else
                KP = 100
        End Select
        TexturenLaden(New String() {"Schweißnaht+N+S", "Schweißnaht+O+W"})
        Normal = -1
        Ausrichtungslandschaften = New String() {"PIPELINE", "PLINE", "PIPE", "PIPESTATION", "FABRIK"}
        WirdZu = "KAPUTTESCHWEIßNAHT"
        If My.Settings.draw3D Then
            Ini3D()
        End If
    End Sub

    Public Overrides Function DrawSpecialStyle(ByVal BildID As Integer, ByVal Fog As Nebelarten, ByVal Alpha As Integer, ByVal X As Integer, ByVal Y As Integer) As Boolean
        Select Case My.Settings.TerrainStyle
            Case TerrainStyle.AdvanceWarsDC
                Return DrawEbeneUndTerrain(Alpha, Fog, BildID, X, Y, 0)
            Case TerrainStyle.CommanderWars2
                Return DrawEbeneUndTerrain(Alpha, Fog, BildID, X, Y, 0)
            Case Else
                Return False
        End Select
    End Function

    Public Overrides Sub Malen3D(ByVal p_MatCube As Microsoft.DirectX.Matrix, ByVal Landschaft As ObjektLandschaft)
        'Ganz normal eine Ebene als Untergrund malen.
        Malen3D(p_MatCube, "EBENE", Landschaft)
        'Pipeline Mesh malen
        Dim Rot As Single = 0
        Dim Ausr As String = AusrichtungVereinfachen(getAusrichtung(Landschaft.KooX, Landschaft.KooY, Objektverwalter.Spielfeld), Rot)
        If Not Ausr = "+N+S" Then
            Ausr.ToString() 'Stimmt die Rotation noch?
        End If
        Dim Mat As Matrix = Matrix.RotationY(Rot)
        Mat.M41 = p_MatCube.M41 + 0.5
        Mat.M42 = p_MatCube.M42
        Mat.M43 = p_MatCube.M43 + 0.5
        Msh.Malen(Mat)
    End Sub

    Public Overrides Sub Ini3D()
        Msh = New Objekt3D()
        Msh.MeshBildLaden(My.Settings.Resourcenpfad + "Landschaften\Meshes\PipelineS+N+S.x")
    End Sub

    Public Overrides Sub Tick()

    End Sub
End Class
